<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 英文：
  // target - 目标

/* 
1. 编写函数norepeat(arr) 将数组的重复元素去掉，并返回新的数组

   ```javascript
   var arr = [1, 1, 2, 3, 4, 4, 2, 1, 3, 5]
   
   function norepeat() {
     // code in here ...
   }
   
   console.log(norepeat(arr)) // [1, 2, 3, 4, 5]
   ```
*/

// 本质是 去重：
var arr = [1, 1, 2, 3, 4, 4, 2, 1, 3, 5];


function norepeat(array) {
  var result = [];

  for (var index = 0; index < array.length; index++) {
    var element = array[index];
    // 判断 result 中，是否存在 element
      // 若不存在，将 element 加入 result；
        // 否则，不加入

    // notExist 这个变量，有注释的效果
      // 增加了「代码的可读性」

    /* 写法1：result.indexOf
    
      var notExist = result.indexOf(element) === -1;
      if (notExist) {
        // 即 result 中不包含 element 这个值
        result.push(element);
      }
    
    */

    // 写法2： result.includes(element)
    var notExist = !result.includes(element);
    if (notExist) {
      // 即 result 中不包含 element 这个值
      result.push(element);
    }
  }

  return result;
}

console.log(norepeat(arr));
</script>